home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / JScrollPane.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  8.7 KB  |  465 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Component;
  4. import java.awt.ComponentOrientation;
  5. import java.awt.Insets;
  6. import java.awt.LayoutManager;
  7. import java.awt.Point;
  8. import java.awt.Rectangle;
  9. import java.io.IOException;
  10. import java.io.ObjectOutputStream;
  11. import javax.accessibility.Accessible;
  12. import javax.accessibility.AccessibleContext;
  13. import javax.swing.border.Border;
  14. import javax.swing.plaf.ScrollPaneUI;
  15.  
  16. public class JScrollPane extends JComponent implements ScrollPaneConstants, Accessible {
  17.    private Border viewportBorder;
  18.    private static final String uiClassID = "ScrollPaneUI";
  19.    protected int verticalScrollBarPolicy;
  20.    protected int horizontalScrollBarPolicy;
  21.    protected JViewport viewport;
  22.    protected JScrollBar verticalScrollBar;
  23.    protected JScrollBar horizontalScrollBar;
  24.    protected JViewport rowHeader;
  25.    protected JViewport columnHeader;
  26.    protected Component lowerLeft;
  27.    protected Component lowerRight;
  28.    protected Component upperLeft;
  29.    protected Component upperRight;
  30.    private boolean wheelScrollState;
  31.  
  32.    public JScrollPane(Component var1, int var2, int var3) {
  33.       this.verticalScrollBarPolicy = 20;
  34.       this.horizontalScrollBarPolicy = 30;
  35.       this.wheelScrollState = true;
  36.       this.setLayout(new ScrollPaneLayout.UIResource());
  37.       this.setVerticalScrollBarPolicy(var2);
  38.       this.setHorizontalScrollBarPolicy(var3);
  39.       this.setViewport(this.createViewport());
  40.       this.setVerticalScrollBar(this.createVerticalScrollBar());
  41.       this.setHorizontalScrollBar(this.createHorizontalScrollBar());
  42.       if (var1 != null) {
  43.          this.setViewportView(var1);
  44.       }
  45.  
  46.       this.setOpaque(true);
  47.       this.updateUI();
  48.       if (!this.getComponentOrientation().isLeftToRight()) {
  49.          this.viewport.setViewPosition(new Point(Integer.MAX_VALUE, 0));
  50.       }
  51.  
  52.    }
  53.  
  54.    public JScrollPane(Component var1) {
  55.       this(var1, 20, 30);
  56.    }
  57.  
  58.    public JScrollPane(int var1, int var2) {
  59.       this((Component)null, var1, var2);
  60.    }
  61.  
  62.    public JScrollPane() {
  63.       this((Component)null, 20, 30);
  64.    }
  65.  
  66.    public ScrollPaneUI getUI() {
  67.       return (ScrollPaneUI)this.ui;
  68.    }
  69.  
  70.    public void setUI(ScrollPaneUI var1) {
  71.       super.setUI(var1);
  72.    }
  73.  
  74.    public void updateUI() {
  75.       this.setUI((ScrollPaneUI)UIManager.getUI(this));
  76.    }
  77.  
  78.    public String getUIClassID() {
  79.       return "ScrollPaneUI";
  80.    }
  81.  
  82.    public void setLayout(LayoutManager var1) {
  83.       if (var1 instanceof ScrollPaneLayout) {
  84.          super.setLayout(var1);
  85.          ((ScrollPaneLayout)var1).syncWithScrollPane(this);
  86.       } else {
  87.          if (var1 != null) {
  88.             String var2 = "layout of JScrollPane must be a ScrollPaneLayout";
  89.             throw new ClassCastException(var2);
  90.          }
  91.  
  92.          super.setLayout(var1);
  93.       }
  94.  
  95.    }
  96.  
  97.    public boolean isValidateRoot() {
  98.       return true;
  99.    }
  100.  
  101.    public int getVerticalScrollBarPolicy() {
  102.       return this.verticalScrollBarPolicy;
  103.    }
  104.  
  105.    public void setVerticalScrollBarPolicy(int var1) {
  106.       switch (var1) {
  107.          case 20:
  108.          case 21:
  109.          case 22:
  110.             int var2 = this.verticalScrollBarPolicy;
  111.             this.verticalScrollBarPolicy = var1;
  112.             this.firePropertyChange("verticalScrollBarPolicy", var2, var1);
  113.             this.revalidate();
  114.             this.repaint();
  115.             return;
  116.          default:
  117.             throw new IllegalArgumentException("invalid verticalScrollBarPolicy");
  118.       }
  119.    }
  120.  
  121.    public int getHorizontalScrollBarPolicy() {
  122.       return this.horizontalScrollBarPolicy;
  123.    }
  124.  
  125.    public void setHorizontalScrollBarPolicy(int var1) {
  126.       switch (var1) {
  127.          case 30:
  128.          case 31:
  129.          case 32:
  130.             int var2 = this.horizontalScrollBarPolicy;
  131.             this.horizontalScrollBarPolicy = var1;
  132.             this.firePropertyChange("horizontalScrollBarPolicy", var2, var1);
  133.             this.revalidate();
  134.             this.repaint();
  135.             return;
  136.          default:
  137.             throw new IllegalArgumentException("invalid horizontalScrollBarPolicy");
  138.       }
  139.    }
  140.  
  141.    public Border getViewportBorder() {
  142.       return this.viewportBorder;
  143.    }
  144.  
  145.    public void setViewportBorder(Border var1) {
  146.       Border var2 = this.viewportBorder;
  147.       this.viewportBorder = var1;
  148.       this.firePropertyChange("viewportBorder", var2, var1);
  149.    }
  150.  
  151.    public Rectangle getViewportBorderBounds() {
  152.       Rectangle var1 = new Rectangle(this.getSize());
  153.       Insets var2 = this.getInsets();
  154.       var1.x = var2.left;
  155.       var1.y = var2.top;
  156.       var1.width -= var2.left + var2.right;
  157.       var1.height -= var2.top + var2.bottom;
  158.       boolean var3 = SwingUtilities.isLeftToRight(this);
  159.       JViewport var4 = this.getColumnHeader();
  160.       if (var4 != null && var4.isVisible()) {
  161.          int var5 = var4.getHeight();
  162.          var1.y += var5;
  163.          var1.height -= var5;
  164.       }
  165.  
  166.       JViewport var8 = this.getRowHeader();
  167.       if (var8 != null && var8.isVisible()) {
  168.          int var6 = var8.getWidth();
  169.          if (var3) {
  170.             var1.x += var6;
  171.          }
  172.  
  173.          var1.width -= var6;
  174.       }
  175.  
  176.       JScrollBar var9 = this.getVerticalScrollBar();
  177.       if (var9 != null && var9.isVisible()) {
  178.          int var7 = var9.getWidth();
  179.          if (!var3) {
  180.             var1.x += var7;
  181.          }
  182.  
  183.          var1.width -= var7;
  184.       }
  185.  
  186.       JScrollBar var10 = this.getHorizontalScrollBar();
  187.       if (var10 != null && var10.isVisible()) {
  188.          var1.height -= var10.getHeight();
  189.       }
  190.  
  191.       return var1;
  192.    }
  193.  
  194.    public JScrollBar createHorizontalScrollBar() {
  195.       return new ScrollBar(this, 0);
  196.    }
  197.  
  198.    public JScrollBar getHorizontalScrollBar() {
  199.       return this.horizontalScrollBar;
  200.    }
  201.  
  202.    public void setHorizontalScrollBar(JScrollBar var1) {
  203.       JScrollBar var2 = this.getHorizontalScrollBar();
  204.       this.horizontalScrollBar = var1;
  205.       if (var1 != null) {
  206.          this.add(var1, "HORIZONTAL_SCROLLBAR");
  207.       } else if (var2 != null) {
  208.          this.remove(var2);
  209.       }
  210.  
  211.       this.firePropertyChange("horizontalScrollBar", var2, var1);
  212.       this.revalidate();
  213.       this.repaint();
  214.    }
  215.  
  216.    public JScrollBar createVerticalScrollBar() {
  217.       return new ScrollBar(this, 1);
  218.    }
  219.  
  220.    public JScrollBar getVerticalScrollBar() {
  221.       return this.verticalScrollBar;
  222.    }
  223.  
  224.    public void setVerticalScrollBar(JScrollBar var1) {
  225.       JScrollBar var2 = this.getVerticalScrollBar();
  226.       this.verticalScrollBar = var1;
  227.       this.add(var1, "VERTICAL_SCROLLBAR");
  228.       this.firePropertyChange("verticalScrollBar", var2, var1);
  229.       this.revalidate();
  230.       this.repaint();
  231.    }
  232.  
  233.    protected JViewport createViewport() {
  234.       return new JViewport();
  235.    }
  236.  
  237.    public JViewport getViewport() {
  238.       return this.viewport;
  239.    }
  240.  
  241.    public void setViewport(JViewport var1) {
  242.       JViewport var2 = this.getViewport();
  243.       this.viewport = var1;
  244.       if (var1 != null) {
  245.          this.add(var1, "VIEWPORT");
  246.       } else if (var2 != null) {
  247.          this.remove(var2);
  248.       }
  249.  
  250.       this.firePropertyChange("viewport", var2, var1);
  251.       if (this.accessibleContext != null) {
  252.          ((AccessibleJScrollPane)this.accessibleContext).resetViewPort();
  253.       }
  254.  
  255.       this.revalidate();
  256.       this.repaint();
  257.    }
  258.  
  259.    public void setViewportView(Component var1) {
  260.       if (this.getViewport() == null) {
  261.          this.setViewport(this.createViewport());
  262.       }
  263.  
  264.       this.getViewport().setView(var1);
  265.    }
  266.  
  267.    public JViewport getRowHeader() {
  268.       return this.rowHeader;
  269.    }
  270.  
  271.    public void setRowHeader(JViewport var1) {
  272.       JViewport var2 = this.getRowHeader();
  273.       this.rowHeader = var1;
  274.       if (var1 != null) {
  275.          this.add(var1, "ROW_HEADER");
  276.       } else if (var2 != null) {
  277.          this.remove(var2);
  278.       }
  279.  
  280.       this.firePropertyChange("rowHeader", var2, var1);
  281.       this.revalidate();
  282.       this.repaint();
  283.    }
  284.  
  285.    public void setRowHeaderView(Component var1) {
  286.       if (this.getRowHeader() == null) {
  287.          this.setRowHeader(this.createViewport());
  288.       }
  289.  
  290.       this.getRowHeader().setView(var1);
  291.    }
  292.  
  293.    public JViewport getColumnHeader() {
  294.       return this.columnHeader;
  295.    }
  296.  
  297.    public void setColumnHeader(JViewport var1) {
  298.       JViewport var2 = this.getColumnHeader();
  299.       this.columnHeader = var1;
  300.       if (var1 != null) {
  301.          this.add(var1, "COLUMN_HEADER");
  302.       } else if (var2 != null) {
  303.          this.remove(var2);
  304.       }
  305.  
  306.       this.firePropertyChange("columnHeader", var2, var1);
  307.       this.revalidate();
  308.       this.repaint();
  309.    }
  310.  
  311.    public void setColumnHeaderView(Component var1) {
  312.       if (this.getColumnHeader() == null) {
  313.          this.setColumnHeader(this.createViewport());
  314.       }
  315.  
  316.       this.getColumnHeader().setView(var1);
  317.    }
  318.  
  319.    public Component getCorner(String var1) {
  320.       boolean var2 = this.getComponentOrientation().isLeftToRight();
  321.       if (var1.equals("LOWER_LEADING_CORNER")) {
  322.          var1 = var2 ? "LOWER_LEFT_CORNER" : "LOWER_RIGHT_CORNER";
  323.       } else if (var1.equals("LOWER_TRAILING_CORNER")) {
  324.          var1 = var2 ? "LOWER_RIGHT_CORNER" : "LOWER_LEFT_CORNER";
  325.       } else if (var1.equals("UPPER_LEADING_CORNER")) {
  326.          var1 = var2 ? "UPPER_LEFT_CORNER" : "UPPER_RIGHT_CORNER";
  327.       } else if (var1.equals("UPPER_TRAILING_CORNER")) {
  328.          var1 = var2 ? "UPPER_RIGHT_CORNER" : "UPPER_LEFT_CORNER";
  329.       }
  330.  
  331.       if (var1.equals("LOWER_LEFT_CORNER")) {
  332.          return this.lowerLeft;
  333.       } else if (var1.equals("LOWER_RIGHT_CORNER")) {
  334.          return this.lowerRight;
  335.       } else if (var1.equals("UPPER_LEFT_CORNER")) {
  336.          return this.upperLeft;
  337.       } else {
  338.          return var1.equals("UPPER_RIGHT_CORNER") ? this.upperRight : null;
  339.       }
  340.    }
  341.  
  342.    public void setCorner(String var1, Component var2) {
  343.       boolean var4 = this.getComponentOrientation().isLeftToRight();
  344.       if (var1.equals("LOWER_LEADING_CORNER")) {
  345.          var1 = var4 ? "LOWER_LEFT_CORNER" : "LOWER_RIGHT_CORNER";
  346.       } else if (var1.equals("LOWER_TRAILING_CORNER")) {
  347.          var1 = var4 ? "LOWER_RIGHT_CORNER" : "LOWER_LEFT_CORNER";
  348.       } else if (var1.equals("UPPER_LEADING_CORNER")) {
  349.          var1 = var4 ? "UPPER_LEFT_CORNER" : "UPPER_RIGHT_CORNER";
  350.       } else if (var1.equals("UPPER_TRAILING_CORNER")) {
  351.          var1 = var4 ? "UPPER_RIGHT_CORNER" : "UPPER_LEFT_CORNER";
  352.       }
  353.  
  354.       Component var3;
  355.       if (var1.equals("LOWER_LEFT_CORNER")) {
  356.          var3 = this.lowerLeft;
  357.          this.lowerLeft = var2;
  358.       } else if (var1.equals("LOWER_RIGHT_CORNER")) {
  359.          var3 = this.lowerRight;
  360.          this.lowerRight = var2;
  361.       } else if (var1.equals("UPPER_LEFT_CORNER")) {
  362.          var3 = this.upperLeft;
  363.          this.upperLeft = var2;
  364.       } else {
  365.          if (!var1.equals("UPPER_RIGHT_CORNER")) {
  366.             throw new IllegalArgumentException("invalid corner key");
  367.          }
  368.  
  369.          var3 = this.upperRight;
  370.          this.upperRight = var2;
  371.       }
  372.  
  373.       if (var3 != null) {
  374.          this.remove(var3);
  375.       }
  376.  
  377.       if (var2 != null) {
  378.          this.add(var2, var1);
  379.       }
  380.  
  381.       this.firePropertyChange(var1, var3, var2);
  382.       this.revalidate();
  383.       this.repaint();
  384.    }
  385.  
  386.    public void setComponentOrientation(ComponentOrientation var1) {
  387.       super.setComponentOrientation(var1);
  388.       if (this.verticalScrollBar != null) {
  389.          this.verticalScrollBar.setComponentOrientation(var1);
  390.       }
  391.  
  392.       if (this.horizontalScrollBar != null) {
  393.          this.horizontalScrollBar.setComponentOrientation(var1);
  394.       }
  395.  
  396.    }
  397.  
  398.    public boolean isWheelScrollingEnabled() {
  399.       return this.wheelScrollState;
  400.    }
  401.  
  402.    public void setWheelScrollingEnabled(boolean var1) {
  403.       boolean var2 = this.wheelScrollState;
  404.       this.wheelScrollState = var1;
  405.       this.firePropertyChange("wheelScrollingEnabled", var2, var1);
  406.    }
  407.  
  408.    private void writeObject(ObjectOutputStream var1) throws IOException {
  409.       var1.defaultWriteObject();
  410.       if (this.getUIClassID().equals("ScrollPaneUI")) {
  411.          byte var2 = JComponent.getWriteObjCounter(this);
  412.          --var2;
  413.          JComponent.setWriteObjCounter(this, var2);
  414.          if (var2 == 0 && this.ui != null) {
  415.             this.ui.installUI(this);
  416.          }
  417.       }
  418.  
  419.    }
  420.  
  421.    protected String paramString() {
  422.       String var1 = this.viewportBorder != null ? this.viewportBorder.toString() : "";
  423.       String var2 = this.viewport != null ? this.viewport.toString() : "";
  424.       String var3;
  425.       if (this.verticalScrollBarPolicy == 20) {
  426.          var3 = "VERTICAL_SCROLLBAR_AS_NEEDED";
  427.       } else if (this.verticalScrollBarPolicy == 21) {
  428.          var3 = "VERTICAL_SCROLLBAR_NEVER";
  429.       } else if (this.verticalScrollBarPolicy == 22) {
  430.          var3 = "VERTICAL_SCROLLBAR_ALWAYS";
  431.       } else {
  432.          var3 = "";
  433.       }
  434.  
  435.       String var4;
  436.       if (this.horizontalScrollBarPolicy == 30) {
  437.          var4 = "HORIZONTAL_SCROLLBAR_AS_NEEDED";
  438.       } else if (this.horizontalScrollBarPolicy == 31) {
  439.          var4 = "HORIZONTAL_SCROLLBAR_NEVER";
  440.       } else if (this.horizontalScrollBarPolicy == 32) {
  441.          var4 = "HORIZONTAL_SCROLLBAR_ALWAYS";
  442.       } else {
  443.          var4 = "";
  444.       }
  445.  
  446.       String var5 = this.horizontalScrollBar != null ? this.horizontalScrollBar.toString() : "";
  447.       String var6 = this.verticalScrollBar != null ? this.verticalScrollBar.toString() : "";
  448.       String var7 = this.columnHeader != null ? this.columnHeader.toString() : "";
  449.       String var8 = this.rowHeader != null ? this.rowHeader.toString() : "";
  450.       String var9 = this.lowerLeft != null ? this.lowerLeft.toString() : "";
  451.       String var10 = this.lowerRight != null ? this.lowerRight.toString() : "";
  452.       String var11 = this.upperLeft != null ? this.upperLeft.toString() : "";
  453.       String var12 = this.upperRight != null ? this.upperRight.toString() : "";
  454.       return super.paramString() + ",columnHeader=" + var7 + ",horizontalScrollBar=" + var5 + ",horizontalScrollBarPolicy=" + var4 + ",lowerLeft=" + var9 + ",lowerRight=" + var10 + ",rowHeader=" + var8 + ",upperLeft=" + var11 + ",upperRight=" + var12 + ",verticalScrollBar=" + var6 + ",verticalScrollBarPolicy=" + var3 + ",viewport=" + var2 + ",viewportBorder=" + var1;
  455.    }
  456.  
  457.    public AccessibleContext getAccessibleContext() {
  458.       if (this.accessibleContext == null) {
  459.          this.accessibleContext = new AccessibleJScrollPane(this);
  460.       }
  461.  
  462.       return this.accessibleContext;
  463.    }
  464. }
  465.